100 GOTO2000 110 ]RE:]LI 1:]SP 68:]PI 68:]KN 150,150 120 I=RND(-RND(0)):POKE53272,21:POKE53280,1:POKE53281,9 140 T$="" 150 QP=197:QA=73 160 IG=160:VI=215:CO=209:GI=170 170 GOTO1360 180 PRINT"[147]";" HOW MANY ISLANDERS (<=100)?";:SAY"HOW MANY I LANDERS." 185 GOSUB1720:NP=VAL(Z1$) 190 IFNP=0THEN180 200 IFNP>100THENPRINT"[145][145]";:GOTO180 210 PRINT" HOW MANY INFECTED AT START?";:SAY"HOW MANY INFECKTED AT THE START." 215 GOSUB1720:NI=VAL(Z1$) 220 IFNI=0THEN210 230 IFNI>NPTHENPRINT"[145][145]";:GOTO210 240 PRINT" CONTAGION TIME (DAYS)?";:SAY"CONTAYGEN TIME IN DAYS." 245 GOSUB1720:CT=VAL(Z1$) 250 IFCT=0THENPRINT"[145][145]";:GOTO240 260 RESTORE 270 PRINT"[147][144]":POKE53281,3:FORI=1TO18:READIL,IR 280 FORJ=ILTOIR:POKEJ,IG:POKEJ+54272,9:NEXT:NEXT 290 PRINT" [215]=UNINFECTED [209]=CONTAGIOUS *=IMMUNE" 300 PRINT"[144] CONTAGION" 310 PRINT" TIME "CT; 320 IFCT>1THENPRINT" DAYS":GOTO340 330 PRINT" DAY" 340 REM 350 POKEQA+2,PEEK(QA):POKEQA+3,PEEK(QA+1):Z9=FRE(0) 360 DIMPP(NP),PG(NP),DC(NP),NI(50),IM(50) 370 FORI=1TONP:PG(I)=VI:NEXT 380 FORI=1TONI:PG(I)=CO:NEXT 390 FORI=1TONP:DC(I)=0:NEXT 400 FORI=1TONI:DC(I)=CT:NEXT 410 FORI=1TONP 420 PP(I)=INT(690*RND(1)+1157):IFPEEK(PP(I))<>IGTHEN420 430 POKEPP(I),PG(I):NEXT 440 ND=0 450 IM=0:PRINT""TAB(7)NP-NI-IM;TAB(20)NI;TAB(30)IM 460 PRINT" DAY";ND:ND$=STR$(ND):SAY"DAY":SAYND$ 470 ND=ND+1:NI=0:IM=0 480 FORI=1TONP 490 REM 500 IF(PEEK(PP(I))=CO)AND(PG(I)=VI)THENDC(I)=CT 510 PG(I)=PEEK(PP(I)) 520 ONINT(9*RND(1)+1)GOSUB900,910,920,930,940,950,960,970,980 540 IFPG(I)=COTHENGOSUB1060 560 IFPG(I)=VITHENGOSUB1160 580 IFPG(I)=COTHENDC(I)=DC(I)-1 600 IFDC(I)<0THENPG(I)=GI:POKEPP(I),GI 610 IFPEEK(PP(I))=COTHENNI=NI+1 620 IFPEEK(PP(I))=GITHENIM=IM+1 630 NEXT 640 IFND<=50THENNI(ND)=NI:IM(ND)=IM 650 PRINT""TAB(7)NP-NI-IM"[157] ";TAB(20)NI"[157] ";TAB(30)IM"[157] " 660 IFNI>0THEN460 670 PRINT" ";T$;:GOSUB1250 680 PRINTCHR$(147)"[144] DAY"TAB(5)"INFECTION":PRINT:SAY"HEERS THE BAR CHARTS." 690 FORND=1TO50 700 FORWT=1TO150:NEXT 710 PRINT" ";ND;TAB(4); 720 PRINT" ";NP-NI(ND)-IM(ND);"";NI(ND);"";IM(ND):PRINT 730 IFNP-NI(ND)-IM(ND)=0THEN750 740 FORI=1TONP-NI(ND)-IM(ND):PRINT"[215]";:NEXT 750 IFNI(ND)=0THEN770 760 FORI=1TONI(ND):PRINT"[209]";:NEXT 770 IFIM(ND)=0THEN790 780 FORI=1TOIM(ND):PRINT"*";:NEXT 790 PRINT"[144]":FORX=1TO1000:NEXT 800 IFNI(ND)=0THEN820 810 PRINT:NEXTND 820 PRINT" LIKE TO SEE THE CHART AGAIN (Y/N)?";"[145]"; 823 SAY"LIKE TO SEE THE CHART AGAIN" 825 GOSUB1720:Q$=Z1$ 830 IFQ$=""THENPRINT"[145][145]";:GOSUB820 840 IFLEFT$(Q$,1)="Y"THENPOKE29,0:GOTO680 845 POKE29,0 850 GOTO1900 900 MV=39:GOSUB1000:RETURN 910 MV=40:GOSUB1000:RETURN 920 MV=41:GOSUB1000:RETURN 930 MV=-1:GOSUB1000:RETURN 940 MV=0:GOSUB1000:RETURN 950 MV=1:GOSUB1000:RETURN 960 MV=-41:GOSUB1000:RETURN 970 MV=-40:GOSUB1000:RETURN 980 MV=-39:GOSUB1000:RETURN 990 REM 1000 IFPEEK(PP(I)+MV)<>IGTHENRETURN 1010 PG(I)=PEEK(PP(I)) 1020 POKEPP(I),IG 1030 PP(I)=PP(I)+MV 1040 POKEPP(I),PG(I):RETURN 1050 REM 1060 IFPEEK(PP(I)-41)=VITHENPOKEPP(I)-41,CO 1070 IFPEEK(PP(I)-40)=VI THEN POKEPP(I)-40,CO 1080 IFPEEK(PP(I)-39)=VI THEN POKEPP(I)-39,CO 1090 IFPEEK(PP(I)- 1)=VI THEN POKEPP(I)- 1,CO 1100 IFPEEK(PP(I)+ 1)=VI THEN POKEPP(I)+ 1,CO 1110 IFPEEK(PP(I)+39)=VI THEN POKEPP(I)+39,CO 1120 IFPEEK(PP(I)+40)=VITHEN POKEPP(I)+40,CO 1130 IFPEEK(PP(I)+41)=VITHEN POKEPP(I)+41,CO 1140 RETURN 1150 REM 1160 IFPEEK(PP(I)-41)=COTHENPOKEPP(I),CO 1170 IFPEEK(PP(I)-40)=COTHEN POKEPP(I),CO 1180 IFPEEK(PP(I)-39)=COTHENPOKEPP(I),CO 1190 IFPEEK(PP(I)- 1)=COTHENPOKEPP(I),CO 1200 IFPEEK(PP(I)+ 1)=COTHENPOKEPP(I),CO 1210 IFPEEK(PP(I)+39)=COTHENPOKEPP(I),CO 1220 IFPEEK(PP(I)+40)=COTHENPOKEPP(I),CO 1230 IFPEEK(PP(I)+41)=COTHENPOKEPP(I),CO 1240 RETURN 1250 PRINT"  PRESS ANY KEY TO CONTINUE [146]":SAY"PRESS ANY KEY TO CUNTINUE." 1260 GETQ$:IFQ$=""THEN1260 1270 RETURN 1360 PRINT"[155][147]":FORI=1024TO1063:POKEI,224:POKEI+960,224:NEXT 1365 FORI=55296TO55335:POKEI,3:POKEI+960,3:NEXT 1370 FORI=1064TO1944STEP40:POKEI,224:POKEI+39,224:NEXT 1375 FORI=55336TO56216STEP40:POKEI,3:POKEI+39,3:NEXT 1380 PRINT"" 1385 PRINTTAB(8)"[167][163][205] " 1386 PRINTTAB(8)"[170] [206] " 1387 PRINTTAB(8)"[170] [205] [221] [207][208] [208][207] [207][208] [205][206] [221] [167][205] [165]" 1388 PRINTTAB(8)"[170][164][206] [221] [204][186] [167][165] [204][186] [206][205] [221] [167] [205][165]" 1390 REM 1400 PRINT"[158]" 1410 PRINT""TAB(15)" EPIDEMIC [146]" 1420 REM 1430 PRINTLEFT$(T$,20)TAB(4);"DO YOU NEED INSTRUCTIONS (Y/N)?";:POKE29,0 1431 SAY"DO YOU NEED INSTRUCTIONS?":GOSUB1720:Q$=Z1$ 1440 IFQ$=""THEN1430 1450 IFLEFT$(Q$,1)<>"Y"THENPOKE29,0:GOTO180 1460 POKE29,0 1470 PRINTCHR$(147)" AN EPIDEMIC HAS BROKEN OUT ON A SMALL " 1480 PRINT" ISLAND. THE DISEASE IS NOT FATAL, AND" 1490 PRINT" ONCE CONTRACTED PROVIDES IMMUNITY FOR LIFE." 1491 SAY"AN EPIDEMIC HAS BROKEN OUT ON A SMALL I LAND." 1492 SAY"THE DISEASE IS NOT FAITAL AND ONCECONTRACTED PRO VI DSIMUNITY FOR LIFE." 1500 PRINT:PRINT" YOU ARE ALLOWED TO CHOOSE CERTAIN " 1510 PRINT" INITIAL CONDITIONS:":PRINT:PRINT 1512 SAY"YOU ARE ALOUED TO CHOOSE CERTEN INITIAL CONDITIONS." 1513 PRINTTAB(5);"THE ISLAND POPULATION" 1515 SAY"THE I LAND POPULATION." 1520 PRINT:PRINTTAB(5)"THE NUMBER ORIGINALLY INFECTED" 1525 SAY"THE NUMBER ORIGINALLY INFECTED." 1530 PRINT:PRINTTAB(5)"THE NUMBER OF DAYS FOR WHICH THE" 1540 PRINTTAB(5)"DISEASE IS CONTAGIOUS - THIS IS" 1550 PRINTTAB(5)"ALSO THE DURATION OF THE DISEASE." 1553 SAY"THE NUMBER OF DAYS FOR WHICH THE DISEASE IS CONTAIGOUS." 1555 SAY"THIS IS ALSO THE DURATION OF THE DISEASE." 1560 PRINT:PRINT:PRINT" THE ISLANDERS WILL MOVE ABOUT RANDOMLY," 1570 PRINT"[145] INFECTING OTHERS IF CONTAGIOUS."; 1575 SAY"THE I LANDERS WILL MOVE ABOUT RANDOMLY.INFECTING OTHERS IF CONTAIGOUS." 1580 PRINT" THOSE WHO ARE IMMUNE WILL NOT BE INFECTED. " 1585 SAY"THOSE WHO ARE IMMUNE WILL NOT BE INFECTED. " 1590 PRINT: GOSUB1250 1600 PRINTCHR$(147)"[158] THIS WILL CONTINUE UNTIL THE DISEASE HAS RUN IT'S"; 1610 PRINT" COURSE (UNTIL THERE ARE NO MORE INFECTED PERSONS)." 1613 SAY"THIS WILL CONTINUE UNTIL THE DISEASE HAS RUN IT'S COURSE." 1615 SAY"UNTIL THERE ARE NO MORE INFECTED PERSONS." 1620 PRINT:PRINT" YOU WILL THEN BE GIVEN A DAY-BY-DAY BAR CHART OF THE"; 1630 PRINT" HISTORY OF THE" 1640 PRINT" EPIDEMIC, UP TO A MAXIMUM OF 50 DAYS." 1642 SAY"YOU WILL THEN BE GIVEN A DAY BY DAY BAR CHART" 1643 SAY"OF THE HISTORY OF THE EPIDEMIC." 1645 SAY"UP TO A MAXIMUM OF FIFTY DAYS." 1650 PRINT:GOSUB1250 1660 GOTO180 1670 DATA1158,1167,1196,1211 1680 DATA1234,1222,1271,1296,1306,1339,1346,1379,1386,1418 1690 DATA1427,1459,1469,1500,1510,1541,1553,1581 1700 DATA1593,1618,1632,1654,1673,1693,1715,1731,1757,1771 1710 DATA1800,1812,1841,1848 1720 Z$="":Z1$="" 1730 PRINT"[166][157]";:FORI=1TO50 1735 GETZ$:IFZ$<>""THEN1760 1740 NEXT:PRINT" [157]";:FORI=1TO50 1750 GETZ$:IFZ$<>""THEN1760 1755 NEXT:GOTO1730 1760 IFZ$<>CHR$(20)THEN1810 1770 IFZ$=""THEN1730 1780 ZZ=LEN(Z1$):IFZZ<1THEN1730 1790 Z1$=LEFT$(Z1$,ZZ-1):POKE29,0:PRINT"[157]"; 1800 GOTO1730 1810 IFZ$=CHR$(13)ORZ$=CHR$(141)THEN1850 1820 PRINTZ$; 1830 Z1$=Z1$+Z$ 1840 GOTO1730 1850 FORI=1TO10:GETZ$:NEXTI 1860 PRINT 1870 RETURN 1900 POKE720,8:POKE739,49:POKE744,57:POKE749,48:POKE754,48:POKE759,13 1902 POKE743,169:POKE758,169:POKE792,207:POKE793,2 1905 POKE53281,6:POKE53280,6:PRINT"[147] WANT ANOTHER TRY? (Y/N)": 1907 SAY"DO YOU WANT ANOTHER TRY PROFESSOR?" 1910 GETX$:IFX$=""THEN1910 1920 IFX$="N"THEN1940 1930 RUN 1940 X$="":PRINT"[147] DO YOU WANT TO RETURN TO WAR GAMES ?":POKE29,0 1945 SAY"DO YOU WANT TO RETURN TO WAR GAMES?" 1950 GETX$:IFX$=""THEN1950 1960 IFX$="Y"THEN1980 1970 PRINT"[147] BYE,BYE":SAY"BYE BYE.":END 1980 PRINT"[147]LOAD";CHR$(34);"WAR MENU";CHR$(34);",8,1" 1990 POKE631,19:POKE632,13:POKE633,82:POKE634,117:POKE635,13:POKE198,5:END 2000 POKE720,8:POKE739,49:POKE744,57:POKE749,48:POKE754,48:POKE759,13 2002 POKE743,169:POKE758,169:POKE792,207:POKE793,2:POKE53281,6:POKE53280,6 2005 IFPEEK(49153)=187THEN2020 2010 PRINT"[147]  LOADING SUB PROGRAMS [146]":LOAD"SAM",8,1 2020 POKE52,125:POKE54,125:POKE56,125:SYS38144 2030 GOTO110